package com.example.mall.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import java.io.Serializable;

/**
 * <p>
 * 短信通知表
 * </p>
 *
 * @author whale
 * @since 2025-05-16
 */
@TableName("tb_sms_notifications")
public class SmsNotifications extends Model<SmsNotifications> {

    private static final long serialVersionUID = 1L;

    /**
     * 短信通知唯一标识
     */
    @TableId("sms_id")
    private Long smsId;
    /**
     * 接收用户ID（关联用户表）
     */
    @TableField("user_id")
    private Long userId;
    /**
     * 消息类型ID（关联消息类型表）
     */
    @TableField("type_id")
    private Long typeId;
    /**
     * 接收手机号码
     */
    @TableField("phone_number")
    private String phoneNumber;
    /**
     * 短信内容
     */
    private String content;
    /**
     * 发送状态（0：未发送，1：已发送，2：发送失败）
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    public Long getSmsId() {
        return smsId;
    }

    public void setSmsId(Long smsId) {
        this.smsId = smsId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return "SmsNotifications{" +
        ", smsId=" + smsId +
        ", userId=" + userId +
        ", typeId=" + typeId +
        ", phoneNumber=" + phoneNumber +
        ", content=" + content +
        ", status=" + status +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
